System programming made easy using C++17.
C++ is a general-purpose programming language with a bias towards systems programming as it provides ready access to hardware-level resources, efficient compilation, and a versatile approach to higher-level abstractions.
With this comprehensive book, you will understand the benefits of systems programming with C++17. You will gain a firm understanding of various C, C++, and POSIX standards and various system types for C++ and POSIX. After a brief refresher on C++, RAII, and The GSL, you will learn to program Linux and UNIX Systems. As we delve deeper, the book will provide you with the details of C++’s support for IO. You will be guided through various methods involved in Memory management and also understand how to program file input and output. You will also explore how to program POSIX sockets using C++. We'll be creating two examples that explain how to set up both a UDP and TCP server/client safely using C++.
Finally, you will be guided through UNIX Time interfaces, Multi-threading and Error handling with Exceptions. By the end of this book, you will be comfortable with programming high-quality systems in C++.
If you are a developer who has intermediate knowledge of C++ but little to no knowledge of UNIX and Linux system programming and want to learn system programming with C++, this book is for you.
Dr. Rian Quinn is a Senior Principal Engineer at Assured Information Security, Inc. where he has focused on trusted computing, hypervisor, and systems programming for more than 10 years. He holds a Ph.D. in Computer Engineering with specializations in Information Assurance and Computer Architectures from Binghamton University. He is a lead developer and co-founder of the Bareflank Hypervisor and is an active member of several open source projects including Microsoft’s Guideline Support Library (GSL) and OpenXT.